The present invention relates to a communicating method between an IPv4 terminal and an IPv6 terminal and to an IPv4-IPv6 converting apparatus. More particularly, the invention relates to method and apparatus for realizing a communication between an IPv4 terminal using IPv4 (Internet Protocol version 4) as a communication protocol and an IPv6 terminal using IPv6 (Internet Protocol version 6) as a communication protocol.
As a method of realizing a communication between an IPv4 terminal and an IPv6 terminal, there is a method of using an `IPv4-mapped IPv6 address`, and an `IPv4-compatible IPv6 address`, described in RFC (Request For Comments) 1884 issued by IETF (Internet Engineering Task Force).
The `IPv4-mapped IPv6 address` is an IPv6 address in which "0" is set to the 127th to 48th bits among 128 bits of the IPv6 address, "1" is set to the 47th to 32nd bits, and an `IPv4 address` is set to the 31st to 0th bits.
The `IPv4-compatible IPv6 address`, is an IPv6 address in which "0" is set to the 127th to 32nd bits among 128 bits of the IPv6 address and the `IPv4 address` is set to the 31st to 0th bits.
When the communication between the IPv4 terminal and the IPv6 terminal is executed, an IPv4 address is preliminarily fixedly allocated to the IPv6 terminal which communicates with the IPv4 terminal. A packet converting apparatus is provided on the way of a path through which the IPv4 terminal and the IPv6 terminal communicate and a mutual conversion of IP headers of an IPv4 packet (RFC791) and an IPv6 packet (RFC1883) is performed.
In an IPv4 network, the IPv4 address of the IPv4 terminal and the IPv4 address allocated to the IPv6 terminal are used and a communication is executed by using the IPv4 packet. In an IPv6 network, the `IPv4-mapped IPv6 address` in which the `Ipv4 address of the IPv4 terminal` has been set is used as an IPv6 address of the IPv4 terminal. In the IPv6 network, the `Ipv4-compatible IPv6 ` in which the `Ipv4 address allocated to the IPv6 terminal` has been set is used as an IP address of the IPv6 terminal and a communication is executed by using the IPv6 packet.
The packet converting apparatus converts the `Ipv4-mapped IPv6 address` included in the IPv6 packet into the `Ipv4 address of the IPv4 terminal` and converts the `Ipv4-compatible IPv6 address` to the `Ipv4 address allocated to the IPv6 terminal`, thereby converting the IPv6 packet into the IPv4 packet. Contrarily, the `Ipv4 address of the IPv4 terminal` included in the IPv4 packet is converted into the `Ipv4-mapped IPv6 address` and the `Ipv4 address allocated to the IPv6 terminal`, is converted into the `Ipv4-compatible IPv6 address`, thereby converting the IPv4 packet into the IPv6 packet. Consequently, the communication between the IPv4 terminal and the IPv6 terminal can be executed.
As a method of realizing the communication between the IPv4 terminal and the IPv6 terminal, IETF also proposed a method called a dual stack. According to the method, the IPv6 terminal has both of the communication protocols of IPv4 and IPv6. A communication is executed between the IPv6 terminals by using the IPv6 protocol. A communication is executed between the IPv4 terminals by using the IPv4 protocol. Thus, the communication between the IPv4 terminal and the IPv6 terminal can be executed.
IETF also proposed a method called an IP tunneling. This is a method such that when the IPv4 network exists on a communication path between two IPv6 terminals and a communication cannot be executed directly by the IPv6 packet, the IPv6 packet is encapsulated by the IPv4 header and is allowed to pass through the IPv4 network. Similarly, when the IPv6 network exists on a communication path between the IPv4 terminals and a communication cannot be executed directly by the IPv4 packet, the IPv4 packet is encapsulated by the IPv6 header and is allowed to pass through the IPv6 network. Consequently, even when there is the IPv4 network on the communication path, the communication between the IPv6 terminals can be executed. Even when there is the IPv6 network on the communication path, the communication between the IPv4 terminals can be executed.
According to the method, the communication between the IPv4 terminal and the IPv6 terminal can be realized by a simple operation of adding a fixed pattern of 96 bits to the IPv4 address or deleting the fixed pattern of 96 bits from the IPv6 address.
According to the method called a dual stack, by selectively using the communication protocols of IPv4 and IPv6 in accordance with a communication partner, the communication between the IPv4 terminal and the IPv6 terminal can be realized.
According to the method called an IP tunneling, by encapsulating the packet by the header of the relevant communication protocol and passing the resultant data through the network existing on the communication path between the two terminals, the communication between the two terminals can be realized.